# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import get_object_or_404, render

from django.http import HttpResponse, HttpResponseRedirect
from django.core.urlresolvers import reverse

from .models import Question, Choice
from django.http import Http404

# Create your views here.
def index(request):
	latest_question_list = Question.objects.order_by('-pub_date')[:5]
	context = {'latest_question_list': latest_question_list}
	return render(request, 'polls/index.html', context)

def detail(request, question_id):
	question = get_object_or_404(Question, pk=question_id)
	return render(request, 'polls/detail.html', {'question': question})

def results(request, question_id):
	question = get_object_or_404(Question,pk = question_id)
	return render(request,'polls/results.html',{'question':question})

def vote(request, question_id):
	p = get_object_or_404(Question,pk = question_id)
	try:
		select_choice = p.choice_set(pk=request.POST['choice'])
	except (KeyError, Choice.DoesNotExist):
		return render(request,'polls/detail.html',{
			'question':p,
			'error_message':"You didn't select a choice.",
			})
	else:
		select_choice.vote += 1
		select_choice.save()
		return HttpResponse(reverse('polls:results', args=(p.id,)))
